lib/core: introduce two new object types for split xattrs
authorLuca BRUNO <luca.bruno@coreos.com>
Wed, 2 Mar 2022 16:44:59 +0000 (16:44 +0000)
committerLuca BRUNO <luca.bruno@coreos.com>
Wed, 2 Mar 2022 16:44:59 +0000 (16:44 +0000)
commit2c60f302f91e3aa9ba343261b09b5a0e3d188b28
tree169e930b05da56b9ba32b613099de036161e8951
parent6ad4a3457fbceae53025d7526e3ebdb22b55ff08
lib/core: introduce two new object types for split xattrs

This adds two new object types for storing xattrs separately from
content objects.

`.file-xattrs` are regular files storing xattrs content, encoded as
GVariant. Each object is keyed by the checksum of its content, allowing
for multiple references.

`.file-xattrs-link` are hardlinks which are associated to file objects.
Each object is keyed by the same checksum of the corresponding file
object. The target of the hardlink is an existing file-xattrs object.
In case of reaching the limit of too many links, this object could be
a plain file too.
src/libostree/ostree-core.c
src/libostree/ostree-core.h